﻿namespace dotnet_notes.Entities
{
    /// <summary>
    /// 审核表基础类
    /// </summary>
    public class ExamineBase
    {
        /// <summary>
        /// 主键
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int ID { get; set; }

        /// <summary>
        /// 业务表 id
        /// </summary>
        public int? BusinessID { get; set; }

        /// <summary>
        /// 提交时间
        /// </summary>
        public DateTime? SubmitTime { get; set; }

        /// <summary>
        /// 审核时间
        /// </summary>
        public DateTime? ExamineTime { get; set; }

        /// <summary>
        /// 审核类型枚举
        /// </summary>
        public enum ExamineTypeEnum
        {
            [Description("新增")] Add = 1,
            [Description("修改")] Modify,
            [Description("删除")] Delete,
            [Description("恢复")] Recover
        }

        /// <summary>
        /// 审核类型
        /// </summary>
        public ExamineTypeEnum? ExamineType { get; set; }

        /// <summary>
        /// 审核状态枚举
        /// </summary>
        public enum ExamineStatusEnum
        {
            [Description("待修改")] PendingModify = -1,
            [Description("待审核")] PendingApproval,
            [Description("通过")] Approved,
            [Description("驳回")] Rejected
        }

        /// <summary>
        /// 审核状态
        /// </summary>
        public ExamineStatusEnum? ExamineStatus { get; set; }

        /// <summary>
        /// 审核备注
        /// </summary>
        public string ExamineRemark { get; set; } = "";
    }
}
